Data backup is utilized to protect important information from being lost and to assist in restoring it to individual computer systems or sets of networked computers in response to failure or similar data losses. The computer systems to be backed up can be any type of computer system including those that execute a virtual machine or a set of virtual machines such as computers executing a virtual machine server. The presence of virtual machines in a system that is to be backed up presents additional challenges to ensure that the backup properly obtains the necessary files for restoring the virtual machine system. The backup process of such a virtual machine system thus requires that the files necessary for executing the virtual machine system and the operating systems (i.e., guest operating systems) and applications running within the virtual machine be backed up. Specifically, in these virtual machine systems, the requirements for restoring the virtual machine systems include the creation of a full virtual machine image backup as well as guest operating system level backups for operational file recovery and application consistency. A guest operating system is an operating system executing on top of a virtual machine, as distinguished from an operating system running on the physical hardware of a computer system. Backing up the virtual machine by creating a virtual machine image ensures that the virtual machine itself can be restored. Backing up the guest operating system and the applications running on the guest operating system enables the restoration of these services. However, this can result in a significant amount of redundant data being backed up, which it is the job of the backup process to reduce through deduplication.
This backup process often is executed while the virtual machine system is running. If the backup process is primarily run by a client application and executed by the virtual machine system, then the resources necessary for collecting the data, deduplicating the data and possibly encrypting or compressing the data are consumed from the available virtual machine system resources. This slows down the virtual machine system and hinders its ability to service clients via the applications running on the guest operating systems and thereby perform its intended function. To minimize the impact on the virtual machine system by the backup process, an external physical server, referred to herein as a physical proxy server, can be set up in communication with the virtual machine system to collect the data, process it and prepare it for storage, thereby freeing the resources of the virtual machine to perform its intended function.
This physical proxy server can also function in combination with the storage system storing the backup data, referred to as a backup target system (i.e., the system to be the recipient or ‘target’ of the backup data). This backup target system encompasses any number of storage devices or can be itself a set of separate data stores with any number of individual data storage devices in which the backup storage data can be maintained and, if necessary, retrieved. The physical proxy server manages the collection, processing and transference of the backup data from the virtual machine system to the backup target system. Examples of the virtual machine systems include the ESX system by VMware of Palo Alto, Calif. and the examples of the physical proxy servers and backup target systems include the Avamar and Data Domain systems by EMC of Hopkinton, Mass.